import type { RefObject } from 'react';
import type { CollectList } from '@/common/storage';

export interface Props {
  /** 自定义类名 */
  className?: string;
  /** 收藏数据 */
  collectData: CollectList;
  /** 文本框实例 */
  textareaRef: RefObject<HTMLTextAreaElement>;
  /** 编辑或选择改变 */
  handleAction: (url?: string, index?: number) => void;
  /** 更新收藏 */
  updateCollect: (data: CollectList) => void;
}

export interface SelectedData {
  /** 地址 */
  url: string;
  /** 索引 */
  index: number;
  /** 是否选中 */
  active: boolean;
}

export type HandleCollect = (func: (data: SelectedData) => void) => () => void;
